#pragma once
#include "../api/lua-api.h"

struct LuaEngine {
  void reg();
  bool dostring(const std::string &content);
  bool dofile(const std::string &filepath);
  LuaPtr lptr() const;

  // --- Constructors ---
  LuaEngine();
  LuaEngine(LuaEngine &&) = default;
  LuaEngine(const LuaEngine &) = default;
  LuaEngine &operator=(LuaEngine &&) = default;
  LuaEngine &operator=(const LuaEngine &) = default;
  ~LuaEngine();

private:
  bool openlibs_;
  LuaPtr lptr_;
};
